﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace ModeloNegocio
{
    public static class CapaDeNegocioTipoProducto
    {
        public static List<TipoDeProducto> TiposDeProductos
        {
            get 
            {
                List<TipoDeProducto> listaTiposProductos = new List<TipoDeProducto>();


            /*
             * 
             * CREAR EN LA BASE DE DATOS:
             * 
             * El Store Procedure: SELECT * FROM TipoProducto
             */
                SqlDataReader rdr = ConexionBaseDatos.obtenerReaderStoreProcedure("spObtenerListaTiposDeProductos", null);

            /*
             * 
             * 
             * ----------------------------------------------------------------- 
             *            
             */

                while (rdr.Read()) 
                {
                    TipoDeProducto tipoDeProducto = new TipoDeProducto();

                    tipoDeProducto.IdTipoProducto = Convert.ToInt32(rdr["IdTipoProducto"]);
                    tipoDeProducto.NombreTipoProducto = Convert.ToString(rdr["NombreTipoProducto"]);

                    

                    /* selecciono solo los productos que tengan el mismo "IdTipoProducto" que el del tipo de producto*/
                    tipoDeProducto.ListaProductos = CapaDeNegocioProducto.Productos.Where(producto => producto.IdTipoProducto == tipoDeProducto.IdTipoProducto).ToList();

                    listaTiposProductos.Add(tipoDeProducto);
                }

                

                return listaTiposProductos;
            }         
            
        }
    }
}
